Summary
Pull means clients ask for updates. Push means the server sends updates when they happen.
Interview Points
- Pull is simple, cacheable, and client-controlled.
- Push reduces freshness latency but requires long-lived connections or delivery infrastructure.
- Polling, long polling, SSE, WebSockets, and webhooks are common options.
- Push needs backpressure, reconnection, ordering, and authorization handling.
- Choose based on freshness, scale, and client capabilities.
2-3 Minute Interview Script
“In a pull model, clients request data when they need it. This is simple, cache-friendly, and easy to reason about. In a push model, the server sends updates as they happen, which improves freshness but adds connection and delivery complexity.
For example, a news feed can often use pull with caching and pagination. A collaborative editor, chat app, or live dashboard may need push through WebSockets, SSE, or a pub-sub system.
The tradeoff is operational. Push requires tracking connections, reconnecting clients, handling slow consumers, and managing authorization over time.
Interview answer: use pull when freshness requirements are relaxed; use push when low-latency updates are part of the product experience.”
Follow-Ups
- When is polling acceptable?
- How do you handle slow push consumers?